package com.baidu.mapper;

import com.baidu.pojo.Setmeal;
import com.github.pagehelper.Page;
import org.apache.ibatis.annotations.Param;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public interface SetMealMapper {


	void addSetMeal(Setmeal setmeal);

	void addSetmeal_idAndCheckgroup_id(HashMap<String, Integer> hashMap);

	Page<Setmeal> findPage(String queryString);

	/**
	 * 查询所有套餐信息
	 * @return List<Setmeal>
	 */

	List<Setmeal> findAll();

	/**
	 * 根据套餐id查询套餐基本信息，检查组信息，检查项信息
	 * @param id 套餐id
	 * @return Setmeal
	 */

	Setmeal findById(Integer id);

	/**
	 * 只查询套餐的基本信息
	 * @param id 套餐id
	 * @return Setmeal
	 */

	Setmeal findByIdOnlySetmeal(Integer id);

	List<Map<String, Object>> findSetMealCount();

	/**
	 * 查询本月的热门套餐
	 * @param
	 * @return
	 */
	ArrayList<Map<String, Object>> findhotSetmealBythisMonthFristDay();

	/**
	 * 根据指定的套餐查询查询其所拥有的检查组id
	 * @param id 套餐id
	 * @return
	 */

    List<Integer> findCgidBySid(Integer id);

	/**
	 * 根据套餐id删除中间关系表
	 * @param sid
	 */

	void deleteCgAndSm(Integer sid);

	/**
	 * 通过套餐id删除套餐信息
	 * @param id
	 */

	void deleteSmByid(Integer id);

	/**
	 * 修改套餐基本信息
	 * @param setmeal
	 */
	void update(Setmeal setmeal);

	/**
	 * 判断当前套餐是否有检查组
	 * @param sId
	 * @return
	 */

	Integer findCount(Integer sId);

	/**
	 * 添加套餐，检查组中间关系表
	 * @param checkGroupId
	 * @param sId
	 */

	void addCgAngSm(@Param("cid") Integer checkGroupId,@Param("sid") Integer sId);

	/**
	 * 查询该套餐是否已被用户预约
	 * @param id
	 * @return
	 */
	Integer findUserById(Integer id);
}
